package com.lanp.gencode.apifox.model;

import com.alibaba.fastjson.PropertyNamingStrategy;
import com.alibaba.fastjson.annotation.JSONType;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;

@Data
@NoArgsConstructor
@JSONType(naming = PropertyNamingStrategy.SnakeCase)
@JsonNaming(com.fasterxml.jackson.databind.PropertyNamingStrategy.SnakeCaseStrategy.class)
public class CreditStatementItemBo extends PageInfoInDto {
    /**
     * 明细id
     */
    private Long itemId;
    /**
     * 明细id列表
     */
    private List<Long> itemIdList;

    /**
     * 账期对账单id
     */
    private Long statementId;

    /**
     * 账期对账单code
     */
    private String statementCode;

    /**
     * 明细类型：1=返利;2=线下退货;9=其他;
     */
    private Short itemType;

    /**
     * 返利金额/退货金额/收支金额
     */
    private BigDecimal price;

    /**
     * 返利类型/退货状态
     */
    private String type;

    /**
     * 返利时间/退货时间
     */
    private String time;

    /**
     * 返利形式/结算形式
     */
    private String form;

    /**
     * 关联订单
     */
    private String orderCode;

    /**
     * 关联子单
     */
    private String orderDetailCode;

    /**
     * 商品数量
     */
    private Integer productNum;

    /**
     * 仓库
     */
    private String warehouse;

    /**
     * 快递单号
     */
    private String expressNum;

    /**
     * 创建人
     */
    private String createUser;

    /**
     * 删除人
     */
    private String delUser;

    /**
     * 创建时间
     */
    private Long createTime;

    /**
     * 删除时间
     */
    private Long delTime;
    /**
     * 明细列表
     */
    private List<CreditStatementItemBo2> itemList;
}